import java.util.Iterator;
import java.text.*;

public class Kassa
{
    private double geldInKassa;
    private int verkochteArtikelen;
    private KassaRij kassarij;

    /**
     * Constructor
     */
    public Kassa(KassaRij kassarij)
    {
        this.kassarij = kassarij;
        geldInKassa = 0.0;
    }
    
    /**
     * Getter voor kassarij
     * @return kassarij
     */
    public KassaRij getKassaRij()
    {
        return kassarij;
    }
    
    /**
     * Deze methode het aantal producten en de totaalprijs op
     * De implementatie wordt later vervangen door een echte betaling door de persoon
     * @param de persoon die moet afrekenen
     */
    public void rekenAf(Persoon persoon)
    {
        if(persoon.getDienblad() == null) {
            System.out.println("U heeft nog geen dienblad gepakt.");
        }
        else {
            Iterator<Artikel> it = persoon.getDienblad().getArtikelIterator();
            while(it.hasNext()) {
                geldInKassa += it.next().getPrijs();
                verkochteArtikelen++;
            }
        }
    }
    
    /**
     * Geeft het aantal artikelen verkocht op deze kassa weer sinds de laatste reset
     * @return Aantal verkochte artikelen
     */
    public int aantalArtikelen()
    {
        return verkochteArtikelen;
    }
    
    /**
     * Deze methode geeft de totaalprijs van alle verkochte artikelen sinds de laatste reset
     * @return Totaalprijs verkochte artikelen
     */
    public double hoeveelheidGeldInKassa()
    {
        return geldInKassa;
    }
    
    /**
     * Deze methode reset de waarde van totaal verkochte artikelen, en totaalprijs van verkochte artikelen
     */
    public void resetKassa()
    {
        geldInKassa = 0.0;
        verkochteArtikelen = 0;
    }
}